package cn.krui.project;

import java.io.File;

import javax.servlet.MultipartConfigElement;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;

/**
 * 上传配置
 * @author zc
 */
@Configuration
public class UploadConfigSystem {
    @Value("${com.kr.web.common.tempfilePath}")
    private String tempfilePath;
    @Value("${com.kr.web.common.maxfilesize:10}")
    private long maxfilesize;
    @Value("${com.kr.web.common.maxrequestsize:100}")
    private long maxrequestsize;

    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        // 允许上传的文件最大值
        factory.setMaxFileSize(DataSize.ofMegabytes(maxfilesize));
        /// 设置总上传数据总大小
        factory.setMaxRequestSize(DataSize.ofMegabytes(maxrequestsize));
        // 设置临时文件路径，以防长时间不操作后删除临时文件导致报错
        File f = new File(tempfilePath);
        if (!f.exists()){
            f.mkdirs();
        }
        factory.setLocation(tempfilePath);
        return factory.createMultipartConfig();

    }
}